<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
    // let obj = {a:1,b:{b1:2},c:[1,2]}
    // let obj2 = JSON.parse(JSON.stringify(obj))
    // console.log(obj2)
    // console.log(obj === obj2)
    // console.log(obj.b === obj2.b)
    // console.log(obj.c === obj2.c)

    // 数组 浅拷贝
    var arr = [1,"old", {a:'a'}, [1]]
    var arr1 = arr.concat() // 拷贝数组内的 基本元素 ， 拷贝数组内的 对象和数组 的引用 ，
    var arr2 = arr.slice()  // 

    // 循环实现 浅拷贝
    function shallowCopy(obj){
      if(typeof obj !== 'object') return // 只拷贝对象
      var newObj = obj instanceof Array ? [] : {}
      for (const key in obj) {
        if (obj.hasOwnProperty(key)) { // 只拷贝obj上的属性，不拷贝原型链上的属性
          newObj[key] = obj[key];
          
        }
      }
    }
  </script>
</body>
</html>